home *** CD-ROM | disk | FTP | other *** search
- Path: xanth!cs.odu.edu!Amiga-Request
- From: Amiga-Request@cs.odu.edu (Amiga Sources/Binaries Moderator)
- Newsgroups: comp.sources.amiga
- Subject: v90i002: plplot 2.6 - C library for making scientific plots, Part01/12
- Message-ID: <10974@xanth.cs.odu.edu>
- Date: 14 Jan 90 23:12:15 GMT
- Sender: tadguy@cs.odu.edu
- Reply-To: Anthony M. Richardson <amr@dukee.egr.duke.edu>
- Lines: 2273
- Approved: tadguy@cs.odu.edu (Tad Guy)
-
- Submitted-by: Anthony M. Richardson <amr@dukee.egr.duke.edu>
- Posting-number: Volume 90, Issue 002
- Archive-name: applications/plplot-2.6/part01
-
- [ the six files in the fonts directory have been uuencoded,
- and one had to be split. ...tad ]
-
- Here is the new, improved version of plplot that first appeared
- over a year ago. This contains all the source necessary to create
- a scanned or linkable C library. The code compiles as is with Lattice
- 5.04 and on the two unix machines I've ported it to (both sys v machines).
- This version includes a greatly improved Amiga intuition interface and
- preferences support for hardcopy. Several other device drivers are
- included (iff, aegis draw, plt:, postscript) and new drivers can be
- easily added.
-
- PLPLOT is a library of C functions that are useful for making scientific plots.
- The PLPLOT library can be used to create standard x-y plots, semilog plots,
- log-log plots, contour plots, 3D plots, mesh plots, bar charts and pie
- charts. Multiple graphs (of the same or different sizes) may be placed
- on a single page with multiple lines in each graph. Different line
- styles, widths and colors are supported. A virtually infinite number
- of distinct area fill patterns may be used. There are almost 2000 characters
- in the extended character set. This includes four different fonts,
- the Greek alphabet and a host of mathematical, musical, and other symbols.
- The fonts can be scaled to any size for various effects.
-
- Regards,
- Tony
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 1 (of 12)."
- # Contents: Amiga Amiga/Makefile README README.AMIGA README.CHANGES
- # docs drivers drivers/Makefile examples examples/compexam
- # examples/example02.c examples/example05.c examples/example09.c
- # examples/example10.c fonts fonts/plstnd.idx.uu fonts/plstnd.lkp.uu
- # include lattice lattice/README lattice/make-clean lattice/make-up
- # pllibs pllibs/dummy src src/icnvrt.c src/movphy.c src/movwor.c
- # src/pl3cut.c src/plabv.c src/pladv.c src/plbeg.c src/plclr.c
- # src/plcol.c src/plcvec.c src/plend.c src/plerrx.c src/plerry.c
- # src/plerx1.c src/plery1.c src/plexit.c src/plfont.c src/plgra.c
- # src/plgspa.c src/pljoin.c src/pllab.c src/plline.c src/plmesh.c
- # src/plpage.c src/plpat.c src/plpoi1.c src/plpoin.c src/plr135.c
- # src/plr45.c src/plschr.c src/plsmaj.c src/plsmin.c src/plssym.c
- # src/plstik.c src/plsym.c src/plsym1.c src/pltext.c src/plvsta.c
- # src/plwid.c src/plxtik.c src/plytik.c src/setphy.c src/setpxl.c
- # src/setsub.c src/stindex.c src/strpos.c src/stsearch.c src/xform.c
- # unix unix/README
- # Wrapped by tadguy@xanth on Sun Jan 14 18:11:21 1990
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test ! -d 'Amiga' ; then
- echo shar: Creating directory \"'Amiga'\"
- mkdir 'Amiga'
- fi
- if test -f 'Amiga/Makefile' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'Amiga/Makefile'\"
- else
- echo shar: Extracting \"'Amiga/Makefile'\" \(234 characters\)
- sed "s/^X//" >'Amiga/Makefile' <<'END_OF_FILE'
- X#
- X# Lattice definitions
- X#
- XCFLAGS = $(LFLG1) $(LFLG2) -i/include -O
- XCC = lc
- X#
- XOBJS = amiga.o \
- X plmenu.o \
- X plprefs.o \
- X plsupport.o \
- X plwindow.o
- X
- X.c.o:
- X $(CC) $(CFLAGS) $*.c
- X
- Xlib: $(OBJS)
- X
- END_OF_FILE
- if test 234 -ne `wc -c <'Amiga/Makefile'`; then
- echo shar: \"'Amiga/Makefile'\" unpacked with wrong size!
- fi
- # end of 'Amiga/Makefile'
- fi
- if test -f 'README' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'README'\"
- else
- echo shar: Extracting \"'README'\" \(2659 characters\)
- sed "s/^X//" >'README' <<'END_OF_FILE'
- X Version 2.6 of PLPLOT
- XPLPLOT is a library of C functions that are useful for scientific plotting.
- XThe PLPLOT library can be used to create standard x-y plots, semilog plots,
- Xlog-log plots, contour plots, 3D plots, mesh plots, bar charts and pie
- Xcharts. Multiple graphs (of the same or different sizes) may be placed
- Xon a single page with multiple lines in each graph. Different line
- Xstyles, widths and colors are supported. A virtually infinite number
- Xof distinct area fill patterns may be used. There are almost 2000 characters
- Xin the extended character set. This includes four different fonts,
- Xthe Greek alphabet and a host of mathematical, musical, and other symbols.
- XThe fonts can be scaled to any size for various effects.
- X
- XTo create a library compatible with your compiler/system you need to go to
- Xthe appropriate directory (lattice, unix) and follow the directions
- Xin the README file there.
- X
- XRead the file README.CHANGES for a description of the changes/improvements
- Xmade in this version. (This version is not compatible with version 1.0
- Xin programs that do 3D or contour plots.) The Amiga interface
- Xhas been greatly improved and there have been a number of improvements
- Xin the portable code (all the stuff in the src directory) as well
- X(mesh plots, area fill routines, and a better method of handling the
- Xfonts). Also read README.AMIGA if you are installing PLPLOT on an Amiga.
- X
- XMany thanks to Tom Rokicki (who provided the Preferences and IFF driver
- Xroutines), Sam Paolucci (he wrote the Postscript driver) and to
- XBob Wolff and Steve Walton (they provided several hints as to how to
- Xavoid Lattice/Manx incompatibilities. Note: This code may not work with
- XManx yet. Steve got it to work, but I'm not sure if all the changes he
- Xmade are included in this version (I haven't been able to contact him,
- XI think his Internet feed is down)). There were several people who
- Xhelped test this library and who made many suggestions. They are too
- Xnumerous to list but their help was greatly appreciated.
- X
- XEnjoy,
- X
- X Tony Richardson
- X
- X EMAIL amr@dukee.egr.duke.edu
- X
- X USMAIL Tony Richardson Tony Richardson
- X Dept of Elect Eng 311 S. LaSalle St. #41B
- X Duke University Durham, NC 27705
- X Durham, NC 27706
- X
- X ph 919-684-3123 ph 919-286-7101
- X
- Xp.s. I'm trying to make a plplot function library for use with AREXX.
- XI'm using Lattice 5.04 with its new features for creating shared
- Xlibraries. I can't seem to get anything to work, though. If anyone has
- Xdone this I would appreciate it if you would contact me so that I can
- Xfind out what I'm doing wrong.
- X
- END_OF_FILE
- if test 2659 -ne `wc -c <'README'`; then
- echo shar: \"'README'\" unpacked with wrong size!
- fi
- # end of 'README'
- fi
- if test -f 'README.AMIGA' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'README.AMIGA'\"
- else
- echo shar: Extracting \"'README.AMIGA'\" \(5716 characters\)
- sed "s/^X//" >'README.AMIGA' <<'END_OF_FILE'
- XFor a color requester I just use the palette program that comes with the
- XWorkBench 1.3 enhancer package. PLPLOT looks for this program in TOOLS:
- Xand if it's not there it looks in sys:tools, so you'll program want
- Xto "assign" tools: to the directory in which the palette program resides.
- X
- XPLPLOT looks for the fonts in PLFONTS: so make sure it is "assign"ed
- Xtoo (put it in your startup sequence).
- X
- XAbout the Amiga drivers:
- X
- X ******
- X
- X IFF and Preferences
- X
- X Tom Rokicki (thanks!) provided the code for the iff and preferences
- X drivers.
- X
- X The IFF driver will prompt for resolution, page size,
- X filename and orientation unless plsetup() and plselect() are used.
- X
- X The preferences driver creates a black and white graph on your
- X preferences supported printer. It uses the preferences selected
- X density and page size limits and ignores most of the other stuff.
- X If you have selected "ignore" in the page size limit options
- X (see the 1.3 Enhancer manual) then a full page graph is produced.
- X The other options operate as described in the Enhancer manual.
- X Only "ignore" and "bounded" produce aspect ratio correct plots
- X (usually unimportant unless x and y must have the same scaling
- X like for pie charts or polar plots). You can get very high quality
- X plots with this driver. A full page, high resolution plot
- X requires a lot of memory though (An 8"x10" 300 dpi plot requires
- X (8*300)*(10*300)/8 = 900000 bytes). You can use the page limits
- X to reduce the memory requirements and still get high quality
- X output.
- X
- X ******
- X
- X postscript
- X
- X The postscript driver was written by Sam Paolucci (thanks!) for
- X the previous version. I don't have a ps printer and so was unable
- X to upgrade the driver to be completely version compatible with this
- X version. (I didn't know how to set the pen width.)
- X
- X ******
- X
- X Aegis Draw
- X
- X I created this one because I have Draw2000 and it was easy to do.
- X I don't know how popular it is. It does provide a very nice
- X method for touching up graphs.
- X
- X ******
- X
- X HP Plotter (or PLT: device)
- X
- X The plt: device is an HP plotter compatible device handler written by
- X Jim Miller and Rich Champeaux. It is freely redistributable, but
- X it is not included with this package (it's big enough already!).
- X It gives high quality output like the preferences driver but with
- X full preferences support. Usually requires less memory (for full
- X page plots) than the preferences driver, but is slower. Highly
- X recommended if you have a color printer or are memory strapped.
- X I don't know exactly which model HP plotter this is compatible
- X with (the HP7470 I think).
- X
- X *******
- X
- X Amiga window
- X
- X I've completely redone this driver. I hope you agree that it is much
- X nicer. A normal window with standard intuition gadgets is now used.
- X You can resize the window even while the program is plotting in the
- X window (see the "Redraw Enabled" section below). If you are making
- X several graphs on separate pages, use the close gadget to advance
- X from one "page" to the next.
- X
- X "Plplot" menu selections:
- X
- X "Save Configuration"
- X - Saves current window configuration (window size, screen type,
- X screen depth, colors, resolution, etc.). The configuration
- X is saved in s:Plplot.def (only 54 bytes).
- X
- X "Reset"
- X - Resets the window to the configuration in s:Plplot.def
- X (or to a default config if this file doesn't exist).
- X
- X "Maintain Plot Aspect"
- X - If this is checked the plot aspect ratio is maintained as the
- X window is resized (handy for polar plots, etc.). Default
- X is unchecked in which case x and y are stretched
- X independently to fit in the window.
- X
- X "Redraw Enabled"
- X - If this is checked, then the graphics commands are buffered
- X in t:plplot.dat. This file is used to redraw the plot when
- X required. It's status is checked only when a new graph is
- X started. The buffer is also used to create the "Full Page"
- X prints under the "Print" selection.
- X
- X "Select Screen Type"
- X - A submenu allows the user to select either "Workbench" or
- X "Custom".
- X
- X "Print"
- X - There are three submenu options here. The "Bitmap Dump"
- X does just that (with full preferences support). The
- X output is pretty jagged, but you can play around with
- X the preferences stuff (scaling, smoothing, etc.) to
- X improve things. The other two submenus are
- X "Full Page (Landscape)" and "Full Page (Portrait)". This
- X uses the graphics buffer file (see "Redraw Enabled" above)
- X to create graphics output similar to the preferences
- X driver. However the aspect ratio can not be maintained.
- X Same preferences options are used as in preferences driver.
- X
- X "Save Bitmap as IFF File"
- X - Self explanatory. You can use this to save your images and
- X then touch them up (do area fills, etc.) with your favorite
- X paint program.
- X
- X "Screen Format" selections: (This menu only appears on the custom screen)
- X "Interlaced"
- X "High Resolution"
- X "Number of Colors"
- X "Set Color Palette"
- X - I think these are all self-explanatory. You can select either
- X 2, 4, 8, or 16 colors.
- X
- X
- X Tony Richardson
- X
- X EMAIL amr@dukee.egr.duke.edu
- X
- X USMAIL Tony Richardson Tony Richardson
- X Dept of Elect Eng 311 S. LaSalle St. #41B
- X Duke University Durham, NC 27705
- X Durham, NC 27706
- X
- X ph 919-684-3123 ph 919-286-7101
- X
- END_OF_FILE
- if test 5716 -ne `wc -c <'README.AMIGA'`; then
- echo shar: \"'README.AMIGA'\" unpacked with wrong size!
- fi
- # end of 'README.AMIGA'
- fi
- if test -f 'README.CHANGES' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'README.CHANGES'\"
- else
- echo shar: Extracting \"'README.CHANGES'\" \(2798 characters\)
- sed "s/^X//" >'README.CHANGES' <<'END_OF_FILE'
- XSee the documentation for more complete descriptions of the routines
- Xmentioned in this file.
- X
- XIn this version all floating point variables are declared to be of type
- XPLFLT. By appropriately typedef'ing PLFLT you can elect to have
- Xeither float's or double's be the default.
- X
- XEverything is prototyped now. You can override this if your compiler
- Xdoes not support prototypes (see plplot.h in the include directory).
- X
- XPreviously the fonts were hard coded into the code. Since there are
- Xabout 2000 characters available this took up a lot of memory (about
- X50k bytes). Most programs required only a small subset of the total
- Xnumber of characters, so I decided to redo the way fonts are handled.
- XI've changed things so that the fonts are loaded from a file.
- XThere is a standard set of fonts that are loaded automatically when
- Xplstar() is called. The full extended set of fonts can still be
- Xloaded by calling a new routine, plfontld()).
- X
- XThe escape sequence for special characters/fonts has changed from
- X'\\' to '#'.
- X
- Xplgrid3() and plside3() no longer exist. Their function has been
- Xabsorbed into plbox3() and plot3d().
- X
- Xplot3d(), plbox3(), and plcont() have been changed and are no longer
- Xcompatible with old programs that call them.
- X
- Xplot3d() no longer needs the work array and a new option has been
- Xadded. The new option allows sides to be drawn on the graph, it
- Xeliminates the old plside3() routine.
- X
- Xplbox3() has a new option in the zopt string. The option draws lines
- Xparallel to the x-y plane behind the figure at the z axis major tick
- Xmarks. These lines are not drawn until plot3d is called because of
- Xthe need for hidden line removal. This option replaces plside3().
- X
- XThe array indices for plcont() go from 0 to nx-1 and 0 to ny-1 instead
- Xof from 1 to nx and 1 to ny. This usually results in simpler
- Xtransformations from the indices to world coordinates.
- X
- XThe bugs in plbin() and plhist() have been fixed. They should work as
- Xdocumented.
- X
- Xplfontld() added. See discussion on fonts above.
- X
- XA mesh drawing routine, plmesh(), has been added.
- X
- XPolygonal area fills can be done using the new routine plfill().
- X
- XYou can select a pen width using plwid().
- X
- Xpllsty() can be used to select 1 of 8 default line styles.
- X
- XArea fill patterns can be defined using plpat().
- X
- Xplpsty() can be used to select 1 of 8 different area fill patterns.
- X
- XThe orientation and output filename can be set using plselect().
- X
- XFor devices supporting different resolutions and page sizes, you can set
- Xthings up using plsetup().
- X
- XUse plprec() to set the number of characters after the decimal point
- Xin numeric labels.
- X
- XI've made it easier to add new drivers. You shouldn't have to
- Xtouch any of the files in the src directory. After writing your new
- Xdriver just update the dispatch table in dispatch.c in the drivers
- Xdirectory.
- X
- END_OF_FILE
- if test 2798 -ne `wc -c <'README.CHANGES'`; then
- echo shar: \"'README.CHANGES'\" unpacked with wrong size!
- fi
- # end of 'README.CHANGES'
- fi
- if test ! -d 'docs' ; then
- echo shar: Creating directory \"'docs'\"
- mkdir 'docs'
- fi
- if test ! -d 'drivers' ; then
- echo shar: Creating directory \"'drivers'\"
- mkdir 'drivers'
- fi
- if test -f 'drivers/Makefile' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'drivers/Makefile'\"
- else
- echo shar: Extracting \"'drivers/Makefile'\" \(256 characters\)
- sed "s/^X//" >'drivers/Makefile' <<'END_OF_FILE'
- X#
- X# Lattice definitions
- X#
- XCFLAGS = $(LFLG1) $(LFLG2) -i/include -O
- XCC = lc
- X#
- XOBJS = aegis.o \
- X dispatch.o \
- X hpplot.o \
- X iff.o \
- X postscript.o \
- X preferences.o
- X
- X.c.o:
- X $(CC) $(CFLAGS) $*.c
- X
- Xlib: $(OBJS)
- X
- END_OF_FILE
- if test 256 -ne `wc -c <'drivers/Makefile'`; then
- echo shar: \"'drivers/Makefile'\" unpacked with wrong size!
- fi
- # end of 'drivers/Makefile'
- fi
- if test ! -d 'examples' ; then
- echo shar: Creating directory \"'examples'\"
- mkdir 'examples'
- fi
- if test -f 'examples/compexam' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'examples/compexam'\"
- else
- echo shar: Extracting \"'examples/compexam'\" \(776 characters\)
- sed "s/^X//" >'examples/compexam' <<'END_OF_FILE'
- X.k number/a,lib
- X.def lib "FFP"
- Xif not "<lib>" eq "FFP"
- X if not "<lib>" eq "IEEEF"
- X if not "<lib>" eq "IEEED"
- X echo "usage: execute compexam # [FFP | IEEEF | IEEED | REXX]"
- X skip end
- X endif
- X endif
- Xendif
- X
- Xif "<lib>" eq "FFP"
- X lc -ff -i/include example<number>
- X blink lib:c.o,example<number>.o to example<number> +
- X lib lib:lcmffp.lib,/pllibs/plpffp.lib,lib:lc.lib
- Xendif
- X
- Xif "<lib>" eq "IEEEF"
- X lc -i/include example<number>
- X blink lib:c.o,example<number>.o to example<number> +
- X lib lib:lcm.lib,/pllibs/plplcmf.lib,lib:lc.lib
- Xendif
- X
- Xif "<lib>" eq "IEEED"
- X lc -dPLDBL -i/include example<number>
- X blink lib:c.o,example<number>.o to example<number> +
- X lib lib:lcm.lib,/pllibs/plplcmd.lib,lib:lc.lib
- Xendif
- X
- Xlab end
- X
- END_OF_FILE
- if test 776 -ne `wc -c <'examples/compexam'`; then
- echo shar: \"'examples/compexam'\" unpacked with wrong size!
- fi
- # end of 'examples/compexam'
- fi
- if test -f 'examples/example02.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'examples/example02.c'\"
- else
- echo shar: Extracting \"'examples/example02.c'\" \(819 characters\)
- sed "s/^X//" >'examples/example02.c' <<'END_OF_FILE'
- X/* Demonstrates multiple windows */
- X
- X#include "plplot.h"
- X#include <stdio.h>
- X#include <math.h>
- X
- Xmain()
- X{
- X PLINT i,j;
- X PLFLT vmin,vmax;
- X char text[3];
- X
- X /* Divide screen into 16 regions */
- X plstar(4,4);
- X plschr((PLFLT)0.0,(PLFLT)3.5);
- X plfont(4);
- X
- X for (i=0; i<=15; i++) {
- X plcol(i/4+1);
- X sprintf(text,"%d",i);
- X pladv(0);
- X vmin = 0.1;
- X vmax = 0.9;
- X for (j=0; j<=2; j++) {
- X plwid(j+1);
- X plvpor(vmin,vmax,vmin,vmax);
- X plwind((PLFLT)0.0,(PLFLT)1.0,(PLFLT)0.0,(PLFLT)1.0);
- X plbox("bc",(PLFLT)0.0,0,"bc",(PLFLT)0.0,0);
- X vmin = vmin + 0.1;
- X vmax = vmax - 0.1;
- X }
- X plwid(1);
- X plptex((PLFLT)0.5,(PLFLT)0.5,(PLFLT)1.0,(PLFLT)0.0,(PLFLT)0.5,text);
- X }
- X
- X plend();
- X}
- X
- END_OF_FILE
- if test 819 -ne `wc -c <'examples/example02.c'`; then
- echo shar: \"'examples/example02.c'\" unpacked with wrong size!
- fi
- # end of 'examples/example02.c'
- fi
- if test -f 'examples/example05.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'examples/example05.c'\"
- else
- echo shar: Extracting \"'examples/example05.c'\" \(385 characters\)
- sed "s/^X//" >'examples/example05.c' <<'END_OF_FILE'
- X/* Test of drawing a histogram */
- X
- X#include "plplot.h"
- X#include <math.h>
- X
- Xmain()
- X{
- X int i;
- X static float data[2048];
- X
- X /* Fill up data points */
- X
- X for (i=0; i<2048; i++)
- X data[i]=sin(0.01*(i+1));
- X
- X plstar(1,1);
- X plhist(2048,data,-1.1,1.1,44,0);
- X pllab("#frValue","#frFrequency",
- X "#frPLPLOT Example 5 - Probability function of Oscillator");
- X
- X plend();
- X}
- END_OF_FILE
- if test 385 -ne `wc -c <'examples/example05.c'`; then
- echo shar: \"'examples/example05.c'\" unpacked with wrong size!
- fi
- # end of 'examples/example05.c'
- fi
- if test -f 'examples/example09.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'examples/example09.c'\"
- else
- echo shar: Extracting \"'examples/example09.c'\" \(888 characters\)
- sed "s/^X//" >'examples/example09.c' <<'END_OF_FILE'
- X/* Demonstration of contour plotting */
- X
- X#include "plplot.h"
- X
- X#define NPTS 41
- X
- Xfloat tr[6] = {0.05, 0.0, -1.0, 0.0, 0.05, -1.0};
- X
- Xmain()
- X{
- X int i, j;
- X float xx, yy;
- X static float clevel[11] = {-1.,-.8,-.6,-.4,-.2,0,.2,.4,.6,.8,1.};
- X static float z[NPTS][NPTS], w[NPTS][NPTS];
- X static int mark=1500, space=1500;
- X
- X for (i=0; i<NPTS; i++) {
- X xx = (double)(i-(NPTS/2))/(double)(NPTS/2);
- X for (j=0; j<NPTS; j++) {
- X yy = (double)(j-(NPTS/2))/(double)(NPTS/2) - 1.0;
- X z[i][j] = xx*xx - yy*yy;
- X w[i][j] = 2*xx*yy;
- X }
- X }
- X plstar(1,1);
- X plenv(-1.0,1.0,-1.0,1.0,0,0);
- X plcol(2);
- X plcont(&z[0][0],NPTS,NPTS,1,NPTS,1,NPTS,clevel,11,xform);
- X plstyl(1,&mark,&space);
- X plcol(3);
- X plcont(&w[0][0],NPTS,NPTS,1,NPTS,1,NPTS,clevel,11,xform);
- X plcol(1);
- X pllab("X Coordinate", "Y Coordinate","Contour Plots of Saddle Points");
- X plend();
- X}
- END_OF_FILE
- if test 888 -ne `wc -c <'examples/example09.c'`; then
- echo shar: \"'examples/example09.c'\" unpacked with wrong size!
- fi
- # end of 'examples/example09.c'
- fi
- if test -f 'examples/example10.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'examples/example10.c'\"
- else
- echo shar: Extracting \"'examples/example10.c'\" \(419 characters\)
- sed "s/^X//" >'examples/example10.c' <<'END_OF_FILE'
- X/* Demonstration program for PLPLOT illustrating absolute positioning */
- X/* of graphs on a page */
- X
- X#include "plplot.h"
- X
- Xmain()
- X{
- X plstar(1,1);
- X
- X pladv(0);
- X plvpor(0.0,1.0,0.0,1.0);
- X plwind(0.0,1.0,0.0,1.0);
- X plbox("bc",0.0,0,"bc",0.0,0);
- X
- X plsvpa(50.0,150.0,100.0,150.0);
- X plwind(0.0,1.0,0.0,1.0);
- X plbox("bc",0.0,0,"bc",0.0,0);
- X plptex(0.5,0.5,1.0,0.0,0.5,"BOX at (50,150,100,150)");
- X
- X plend();
- X}
- END_OF_FILE
- if test 419 -ne `wc -c <'examples/example10.c'`; then
- echo shar: \"'examples/example10.c'\" unpacked with wrong size!
- fi
- # end of 'examples/example10.c'
- fi
- if test ! -d 'fonts' ; then
- echo shar: Creating directory \"'fonts'\"
- mkdir 'fonts'
- fi
- if test -f 'fonts/plstnd.idx.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'fonts/plstnd.idx.uu'\"
- else
- echo shar: Extracting \"'fonts/plstnd.idx.uu'\" \(521 characters\)
- sed "s/^X//" >'fonts/plstnd.idx.uu' <<'END_OF_FILE'
- Xbegin 644 plstnd.idx
- XM`*L``0`,`"8`.P!-`%L`9@!_`(H`CP"<`*<`KP"]`,@`X`#P`0L!'@$U`3T!F
- XM2@%2`6`!:`%Q`7P!AP&A`:D!M`'"`<T!V`'S`?@"`P(+`AD")`(O`D<"4@)B[
- XM`FX"=@*+`J("J@*^`M$"Y0+Y`PH#'@,R`ST#5@-C`VX#?`.'`XP#H0.N`\(#"
- XMU@/J`_4$"004!"$$*00W!#\$2P16!'`$D02D!+X$UP3L!/<%#`47!2X%/@5=7
- XM!7$%@`65!:D%LP7%!=4%ZP8$!A8&+P9&!DH&7@9E!G8&B`:1!J4&OP;'!N<'G
- XM`0<)!Q0'(@<S!SX'50=:!V('<@>/!Y0'H0>N![,'N`?`!\@'TP?;!^D(#@@L&
- XM"$`(2`A/"%<(90AM"'4(@`BE",((V@CJ"/8(_@D*"1H)+@E""5H)?@FB"=8)Y
- X=Y`GR"@X**@HP"C8*4`I9"F8*<PJ`"HT*KPKI"Q$*"
- X``
- Xend
- Xsize 344
- END_OF_FILE
- if test 521 -ne `wc -c <'fonts/plstnd.idx.uu'`; then
- echo shar: \"'fonts/plstnd.idx.uu'\" unpacked with wrong size!
- fi
- # end of 'fonts/plstnd.idx.uu'
- fi
- if test -f 'fonts/plstnd.lkp.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'fonts/plstnd.lkp.uu'\"
- else
- echo shar: Extracting \"'fonts/plstnd.lkp.uu'\" \(533 characters\)
- sed "s/^X//" >'fonts/plstnd.lkp.uu' <<'END_OF_FILE'
- Xbegin 644 plstnd.lkp
- XM`;``AP"3`(L`C0"&`(P`AP"(`*L`J@"%`(D`B@"'`)$`D@"/`(X`D`"'`)0`C
- XME0"6`)<`F`"9`)H`FP"F`*0`I0"G`&4`=`!W`(,`>0"H`(0`=@![`'P`@0!_C
- XM`'$`?@!P`'H`9@!G`&@`:0!J`&L`;`!M`&X`;P!R`',`H`"``*$`=0"I``$`'
- XM`@`#``0`!0`&``<`"``)``H`"P`,``T`#@`/`!``$0`2`!,`%``5`!8`%P`8K
- XM`!D`&@"<`((`G0!X`((`HP`S`#0`-0`V`#<`.``Y`#H`.P`\`#T`/@`_`$``P
- XM00!"`$,`1`!%`$8`1P!(`$D`2@!+`$P`G@!]`)\`H@!E`!L`'``=`!X`'P`@`
- XM`"$`(@`C`"0`)0`F`"<`*``I`"H`*P`L`"T`+@`O`#``,0`R`$T`3@!/`%``E
- XG8@!1`%(`8P!3`%0`50!6`%<`6`!9`%H`6P!<`%T`7@!D`%\`8`!A2
- X``
- Xend
- Xsize 354
- END_OF_FILE
- if test 533 -ne `wc -c <'fonts/plstnd.lkp.uu'`; then
- echo shar: \"'fonts/plstnd.lkp.uu'\" unpacked with wrong size!
- fi
- # end of 'fonts/plstnd.lkp.uu'
- fi
- if test ! -d 'include' ; then
- echo shar: Creating directory \"'include'\"
- mkdir 'include'
- fi
- if test ! -d 'lattice' ; then
- echo shar: Creating directory \"'lattice'\"
- mkdir 'lattice'
- fi
- if test -f 'lattice/README' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'lattice/README'\"
- else
- echo shar: Extracting \"'lattice/README'\" \(775 characters\)
- sed "s/^X//" >'lattice/README' <<'END_OF_FILE'
- X Installation of plplot for use with the Lattice C compiler.
- X
- XA script is provided (make-all) to compile all of the routines and
- Xcreate a Lattice compatible library. You should examine this script
- Xand the first part of plplot.h to become familiar with some of the
- Xavailable options. (You might want to change some of the default
- Xoptions). To create the plplot library type
- X
- X execute make-all [FFP | IEEEF |IEEED]
- X
- Xwhere the options allow you to create Motorola fast floating point,
- XIEEE float, or IEEE double compatible libraries. The library is
- Xcreated in the pllibs directory. You may want to move the library
- Xto lib: (the lattice directory containing the link libraries).
- XThe libraries are named differently depending on whether you specify
- XFFP, IEEEF, or IEEED.
- X
- X
- END_OF_FILE
- if test 775 -ne `wc -c <'lattice/README'`; then
- echo shar: \"'lattice/README'\" unpacked with wrong size!
- fi
- # end of 'lattice/README'
- fi
- if test -f 'lattice/make-clean' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'lattice/make-clean'\"
- else
- echo shar: Extracting \"'lattice/make-clean'\" \(75 characters\)
- sed "s/^X//" >'lattice/make-clean' <<'END_OF_FILE'
- Xdelete /src/#?.o quiet
- Xdelete /drivers/#?.o quiet
- Xdelete /Amiga/#?.o quiet
- END_OF_FILE
- if test 75 -ne `wc -c <'lattice/make-clean'`; then
- echo shar: \"'lattice/make-clean'\" unpacked with wrong size!
- fi
- # end of 'lattice/make-clean'
- fi
- if test -f 'lattice/make-up' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'lattice/make-up'\"
- else
- echo shar: Extracting \"'lattice/make-up'\" \(633 characters\)
- sed "s/^X//" >'lattice/make-up' <<'END_OF_FILE'
- X.key lib
- X.def lib "FFP"
- X
- X; You can use this script to update the library after changing any of the
- X; plplot routines.
- X
- Xif not "<lib>" eq "FFP"
- X if not "<lib>" eq "IEEEF"
- X if not "<lib>" eq "IEEED"
- X echo "usage: execute make-all [FFP | IEEEF | IEEED]"
- X skip end
- X endif
- X endif
- Xendif
- X
- Xif "<lib>" eq "FFP"
- X lmk -f Makefile.inc LFLGS=ff LIB=/pllibs/plpffp.lib
- Xendif
- X
- X; Can't use prototypes here due to Lattice bug :-(
- Xif "<lib>" eq "IEEEF"
- X lmk -f Makefile.inc LFLGS=dNOPROTS LIB=/pllibs/plplcmf.lib
- Xendif
- X
- Xif "<lib>" eq "IEEED"
- X lmk -f Makefile.inc LFLGS=dPLDBL LIB=/pllibs/plplcmd.lib
- Xendif
- X
- Xlab end
- END_OF_FILE
- if test 633 -ne `wc -c <'lattice/make-up'`; then
- echo shar: \"'lattice/make-up'\" unpacked with wrong size!
- fi
- # end of 'lattice/make-up'
- fi
- if test ! -d 'pllibs' ; then
- echo shar: Creating directory \"'pllibs'\"
- mkdir 'pllibs'
- fi
- if test -f 'pllibs/dummy' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'pllibs/dummy'\"
- else
- echo shar: Extracting \"'pllibs/dummy'\" \(55 characters\)
- sed "s/^X//" >'pllibs/dummy' <<'END_OF_FILE'
- XJust a placeholder so that zoo creates this directory.
- END_OF_FILE
- if test 55 -ne `wc -c <'pllibs/dummy'`; then
- echo shar: \"'pllibs/dummy'\" unpacked with wrong size!
- fi
- # end of 'pllibs/dummy'
- fi
- if test ! -d 'src' ; then
- echo shar: Creating directory \"'src'\"
- mkdir 'src'
- fi
- if test -f 'src/icnvrt.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/icnvrt.c'\"
- else
- echo shar: Extracting \"'src/icnvrt.c'\" \(799 characters\)
- sed "s/^X//" >'src/icnvrt.c' <<'END_OF_FILE'
- X/* Coordinate transformations for plotting package */
- X/* Convertion routines yielding an integer result */
- X
- X#include "plplot.h"
- X#include "declare.h"
- X
- X/* dcpc. converts device coordinates to physical coordinates */
- X
- XPLINT dcpcx(x)
- XPLFLT x;
- X{
- X return(round(dpxoff + dpxscl * x));
- X}
- X
- XPLINT dcpcy(y)
- XPLFLT y;
- X{
- X return(round(dpyoff + dpyscl * y));
- X}
- X
- X/* mmpc. converts millimetres from bottom left-hand corner to physical */
- X/* coordinates */
- X
- XPLINT mmpcx(x)
- XPLFLT x;
- X{
- X return(round(mpxoff + mpxscl * x));
- X}
- X
- XPLINT mmpcy(y)
- XPLFLT y;
- X{
- X return(round(mpyoff + mpyscl * y));
- X}
- X
- X/* wcpc. converts world coordinates to physical coordinates */
- X
- XPLINT wcpcx(x)
- XPLFLT x;
- X{
- X return(round(wpxoff + wpxscl * x));
- X}
- X
- XPLINT wcpcy(y)
- XPLFLT y;
- X{
- X return(round(wpyoff + wpyscl * y));
- X}
- X
- END_OF_FILE
- if test 799 -ne `wc -c <'src/icnvrt.c'`; then
- echo shar: \"'src/icnvrt.c'\" unpacked with wrong size!
- fi
- # end of 'src/icnvrt.c'
- fi
- if test -f 'src/movphy.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/movphy.c'\"
- else
- echo shar: Extracting \"'src/movphy.c'\" \(349 characters\)
- sed "s/^X//" >'src/movphy.c' <<'END_OF_FILE'
- X/* MOVE AND DRAW ROUTINES IN PHYSICAL COORDINATES */
- X
- X/* Move to physical coordinates (x,y) */
- X
- X#include "plplot.h"
- X
- Xvoid movphy(x,y)
- XPLINT x,y;
- X{
- X scurr(x,y);
- X}
- X
- X/* Draws to physical coordinates (x,y) */
- X
- Xvoid draphy(x,y)
- XPLINT x,y;
- X{
- X PLINT currx, curry;
- X gcurr(&currx,&curry);
- X pllclp(currx,curry,x,y);
- X}
- X
- END_OF_FILE
- if test 349 -ne `wc -c <'src/movphy.c'`; then
- echo shar: \"'src/movphy.c'\" unpacked with wrong size!
- fi
- # end of 'src/movphy.c'
- fi
- if test -f 'src/movwor.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/movwor.c'\"
- else
- echo shar: Extracting \"'src/movwor.c'\" \(335 characters\)
- sed "s/^X//" >'src/movwor.c' <<'END_OF_FILE'
- X/* MOVE AND DRAW ROUTINES IN WORLD COORDINATES */
- X
- X/* Move to world coordinates (x,y) */
- X
- X#include "plplot.h"
- X
- Xvoid movwor(x,y)
- XPLFLT x,y;
- X{
- X scurr(wcpcx(x),wcpcy(y));
- X}
- X
- X/* Draws to world coordinates (x,y) */
- X
- Xvoid drawor(x,y)
- XPLFLT x,y;
- X{
- X PLINT currx, curry;
- X gcurr(&currx,&curry);
- X pllclp(currx,curry,wcpcx(x),wcpcy(y));
- X}
- END_OF_FILE
- if test 335 -ne `wc -c <'src/movwor.c'`; then
- echo shar: \"'src/movwor.c'\" unpacked with wrong size!
- fi
- # end of 'src/movwor.c'
- fi
- if test -f 'src/pl3cut.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/pl3cut.c'\"
- else
- echo shar: Extracting \"'src/pl3cut.c'\" \(918 characters\)
- sed "s/^X//" >'src/pl3cut.c' <<'END_OF_FILE'
- X/* Determines the point of intersection (cx,cy) between the line */
- X/* joining (sx1,sy1) to (sx2,sy2) and the line joining */
- X/* (su1,sv1) to (su2,sv2). */
- X
- X#include "plplot.h"
- X
- Xvoid pl3cut(sx1,sy1,sx2,sy2,su1,sv1,su2,sv2,cx,cy)
- XPLINT sx1, sy1, sx2, sy2, su1, sv1, su2, sv2, *cx, *cy;
- X{
- X PLINT x21, y21, u21, v21, yv1, xu1, a, b;
- X PLFLT fa, fb;
- X
- X x21 = sx2 - sx1;
- X y21 = sy2 - sy1;
- X u21 = su2 - su1;
- X v21 = sv2 - sv1;
- X yv1 = sy1 - sv1;
- X xu1 = sx1 - su1;
- X
- X a = x21 * v21 - y21 * u21;
- X fa = (PLFLT)a;
- X if (a == 0) {
- X if (sx2 < su2) {
- X *cx = sx2;
- X *cy = sy2;
- X }
- X else {
- X *cx = su2;
- X *cy = sv2;
- X }
- X return;
- X }
- X else {
- X b = yv1 * u21 - xu1 * v21;
- X fb = (PLFLT)b;
- X *cx = (PLINT)(sx1 + (fb * x21)/ fa + .5);
- X *cy = (PLINT)(sy1 + (fb * y21)/ fa + .5);
- X }
- X}
- END_OF_FILE
- if test 918 -ne `wc -c <'src/pl3cut.c'`; then
- echo shar: \"'src/pl3cut.c'\" unpacked with wrong size!
- fi
- # end of 'src/pl3cut.c'
- fi
- if test -f 'src/plabv.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plabv.c'\"
- else
- echo shar: Extracting \"'src/plabv.c'\" \(518 characters\)
- sed "s/^X//" >'src/plabv.c' <<'END_OF_FILE'
- X#include "plplot.h"
- X
- X/* Determines if point (px,py) lies above the line joining (sx1,sy1) to */
- X/* (sx2,sy2). It only works correctly if sx1 <= px <= sx2 */
- X
- XPLINT plabv(px, py, sx1, sy1, sx2, sy2)
- XPLINT px, py, sx1, sy1, sx2, sy2;
- X{
- X PLINT above;
- X
- X if (py >= sy1 && py >= sy2)
- X above = 1;
- X else if (py < sy1 && py < sy2)
- X above = 0;
- X else if ((PLFLT)(sx2-sx1) * (py-sy1) > (PLFLT)(px-sx1) * (sy2-sy1))
- X above = 1;
- X else
- X above = 0;
- X
- X return((PLINT)above);
- X}
- END_OF_FILE
- if test 518 -ne `wc -c <'src/plabv.c'`; then
- echo shar: \"'src/plabv.c'\" unpacked with wrong size!
- fi
- # end of 'src/plabv.c'
- fi
- if test -f 'src/pladv.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/pladv.c'\"
- else
- echo shar: Extracting \"'src/pladv.c'\" \(744 characters\)
- sed "s/^X//" >'src/pladv.c' <<'END_OF_FILE'
- X/* Advance to subpage "page", or to the next one if "page" = 0 */
- X
- X#include "plplot.h"
- X
- Xvoid pladv(page)
- XPLINT page;
- X{
- X PLINT cursub, nsubx, nsuby;
- X PLINT device, termin, graphx;
- X PLINT level;
- X
- X glev(&level);
- X if (level < 1) plexit("Please call plstar before calling pladv.");
- X
- X gdev(&device,&termin,&graphx);
- X gsub(&nsubx,&nsuby,&cursub);
- X if (page > 0 && page <= nsubx*nsuby)
- X cursub = page;
- X else if (page == 0) {
- X if (cursub == nsubx*nsuby) {
- X plclr();
- X plpage();
- X cursub = 1;
- X }
- X else
- X cursub = cursub + 1;
- X }
- X else
- X plexit("Invalid subpage number in pladv.");
- X
- X ssub(nsubx,nsuby,cursub);
- X setsub();
- X}
- X
- END_OF_FILE
- if test 744 -ne `wc -c <'src/pladv.c'`; then
- echo shar: \"'src/pladv.c'\" unpacked with wrong size!
- fi
- # end of 'src/pladv.c'
- fi
- if test -f 'src/plbeg.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plbeg.c'\"
- else
- echo shar: Extracting \"'src/plbeg.c'\" \(748 characters\)
- sed "s/^X//" >'src/plbeg.c' <<'END_OF_FILE'
- X/* Sets up the device "dev" for plotting, dividing the page into "nx" */
- X/* by "ny" subpages. */
- X
- X#include "plplot.h"
- X#include <math.h>
- X
- Xvoid plbeg(dev,nx,ny)
- XPLINT dev, nx, ny;
- X{
- X PLFLT scale, def, ht;
- X
- X if ((nx <= 0) || (ny <= 0 ))
- X plexit("Cannot have negative number of subpages in plstar.");
- X
- X scale = 1.0/sqrt((double)ny);
- X slev(1);
- X grbeg(dev);
- X ssub(nx,ny,0);
- X
- X /* Set up character, symbol and tick sizes for requested number of */
- X /* subpages */
- X
- X gchr(&def,&ht);
- X schr((PLFLT)(def*scale),(PLFLT)(def*scale));
- X gsym(&def,&ht);
- X ssym((PLFLT)(def*scale),(PLFLT)(def*scale));
- X gmaj(&def,&ht);
- X smaj((PLFLT)(def*scale),(PLFLT)(def*scale));
- X gmin(&def,&ht);
- X smin((PLFLT)(def*scale),(PLFLT)(def*scale));
- X}
- END_OF_FILE
- if test 748 -ne `wc -c <'src/plbeg.c'`; then
- echo shar: \"'src/plbeg.c'\" unpacked with wrong size!
- fi
- # end of 'src/plbeg.c'
- fi
- if test -f 'src/plclr.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plclr.c'\"
- else
- echo shar: Extracting \"'src/plclr.c'\" \(160 characters\)
- sed "s/^X//" >'src/plclr.c' <<'END_OF_FILE'
- X#include "plplot.h"
- X
- Xvoid plclr()
- X{
- X PLINT level;
- X glev(&level);
- X if (level < 1)
- X plexit("Please call plstar before calling plclr.");
- X
- X grclr();
- X}
- END_OF_FILE
- if test 160 -ne `wc -c <'src/plclr.c'`; then
- echo shar: \"'src/plclr.c'\" unpacked with wrong size!
- fi
- # end of 'src/plclr.c'
- fi
- if test -f 'src/plcol.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plcol.c'\"
- else
- echo shar: Extracting \"'src/plcol.c'\" \(336 characters\)
- sed "s/^X//" >'src/plcol.c' <<'END_OF_FILE'
- X/* Sets line color */
- X
- X#include "plplot.h"
- X
- Xvoid plcol(color)
- XPLINT color;
- X{
- X PLINT font,col;
- X PLINT level;
- X
- X glev(&level);
- X if (level < 1) plexit("Please call plstar before calling plcol.");
- X if (color < 0) plexit("Invalid color in plcol.");
- X
- X gatt(&font,&col);
- X satt(font,color);
- X grcol();
- X}
- END_OF_FILE
- if test 336 -ne `wc -c <'src/plcol.c'`; then
- echo shar: \"'src/plcol.c'\" unpacked with wrong size!
- fi
- # end of 'src/plcol.c'
- fi
- if test -f 'src/plcvec.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plcvec.c'\"
- else
- echo shar: Extracting \"'src/plcvec.c'\" \(719 characters\)
- sed "s/^X//" >'src/plcvec.c' <<'END_OF_FILE'
- X/* Gets the character digitisation of Hershey table entry "char" */
- X/* Returns 1 if there is a valid entry */
- X
- Xextern short int *fntbffr;
- Xextern short int *fntindx;
- Xextern short int indxleng;
- X
- X#include "plplot.h"
- X#define STLEN 250
- X
- Xstatic SCHAR xygrid[STLEN];
- X
- Xstruct point {
- X SCHAR x, y;
- X};
- X
- XPLINT plcvec(ch,xygr)
- XPLINT ch;
- XSCHAR **xygr;
- X{
- X
- X PLINT k=0, ib;
- X struct point *pt;
- X
- X ch--;
- X if (ch < 0 || ch >= indxleng) return((PLINT)0);
- X ib = fntindx[ch]-2;
- X if (ib == -2) return((PLINT)0);
- X
- X do {
- X ib++;
- X pt = (struct point *)&fntbffr[ib];
- X xygrid[k++]=pt->x;
- X xygrid[k++]=pt->y;
- X } while ((pt->x != 64 || pt->y != 64) && k <= (STLEN-2));
- X
- X *xygr = xygrid;
- X return((PLINT)1);
- X}
- X
- END_OF_FILE
- if test 719 -ne `wc -c <'src/plcvec.c'`; then
- echo shar: \"'src/plcvec.c'\" unpacked with wrong size!
- fi
- # end of 'src/plcvec.c'
- fi
- if test -f 'src/plend.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plend.c'\"
- else
- echo shar: Extracting \"'src/plend.c'\" \(261 characters\)
- sed "s/^X//" >'src/plend.c' <<'END_OF_FILE'
- X/* Ends a plotting session */
- X
- X#include "plplot.h"
- X#include "declare.h"
- X
- Xvoid plend()
- X{
- X PLINT dev, term, gra, level;
- X
- X glev(&level);
- X if (level == 0) return;
- X gdev(&dev,&term,&gra);
- X if (gra != 0) pltext();
- X plfontrel();
- X grtidy();
- X slev(0);
- X}
- END_OF_FILE
- if test 261 -ne `wc -c <'src/plend.c'`; then
- echo shar: \"'src/plend.c'\" unpacked with wrong size!
- fi
- # end of 'src/plend.c'
- fi
- if test -f 'src/plerrx.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plerrx.c'\"
- else
- echo shar: Extracting \"'src/plerrx.c'\" \(346 characters\)
- sed "s/^X//" >'src/plerrx.c' <<'END_OF_FILE'
- X/* Plots horizontal error bars (xmin(i),y(i)) to (xmax(i),y(i)) */
- X
- X#include "plplot.h"
- X
- Xvoid plerrx(n,xmin,xmax,y)
- XPLINT n;
- XPLFLT *xmin, *xmax, *y;
- X{
- X PLINT level;
- X short i;
- X
- X glev(&level);
- X if (level < 3) plexit("Please set up window before calling plerrx.");
- X for (i=0;i<n;i++)
- X plerx1(xmin[i],xmax[i],y[i]);
- X}
- END_OF_FILE
- if test 346 -ne `wc -c <'src/plerrx.c'`; then
- echo shar: \"'src/plerrx.c'\" unpacked with wrong size!
- fi
- # end of 'src/plerrx.c'
- fi
- if test -f 'src/plerry.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plerry.c'\"
- else
- echo shar: Extracting \"'src/plerry.c'\" \(342 characters\)
- sed "s/^X//" >'src/plerry.c' <<'END_OF_FILE'
- X/* Plots vertical error bars (x,ymin(i)) to (x(i),ymax(i)) */
- X
- X#include "plplot.h"
- X
- Xvoid plerry(n,x,ymin,ymax)
- XPLINT n;
- XPLFLT *x, *ymin, *ymax;
- X{
- X PLINT level;
- X short i;
- X
- X glev(&level);
- X if (level < 3) plexit("Please set up window before calling plerry.");
- X for(i=0; i<n; i++)
- X plery1(x[i],ymin[i],ymax[i]);
- X}
- END_OF_FILE
- if test 342 -ne `wc -c <'src/plerry.c'`; then
- echo shar: \"'src/plerry.c'\" unpacked with wrong size!
- fi
- # end of 'src/plerry.c'
- fi
- if test -f 'src/plerx1.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plerx1.c'\"
- else
- echo shar: Extracting \"'src/plerx1.c'\" \(425 characters\)
- sed "s/^X//" >'src/plerx1.c' <<'END_OF_FILE'
- X/* Plots single horizontal error bar */
- X
- X#include "plplot.h"
- X#include <math.h>
- X
- Xvoid plerx1(xmin,xmax,y)
- XPLFLT xmin, xmax, y;
- X{
- X PLFLT mindef, minht, xpmm, ypmm;
- X PLINT yminor;
- X
- X gmin(&mindef,&minht);
- X gpixmm(&xpmm,&ypmm);
- X yminor = max(1.0,minht*ypmm);
- X movwor(xmin,y);
- X plxtik(wcpcx(xmin),wcpcy(y),yminor,yminor);
- X drawor(xmax,y);
- X plxtik(wcpcx(xmax),wcpcy(y),yminor,yminor);
- X}
- END_OF_FILE
- if test 425 -ne `wc -c <'src/plerx1.c'`; then
- echo shar: \"'src/plerx1.c'\" unpacked with wrong size!
- fi
- # end of 'src/plerx1.c'
- fi
- if test -f 'src/plery1.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plery1.c'\"
- else
- echo shar: Extracting \"'src/plery1.c'\" \(423 characters\)
- sed "s/^X//" >'src/plery1.c' <<'END_OF_FILE'
- X/* Plots single vertical error bar */
- X
- X#include "plplot.h"
- X#include <math.h>
- X
- Xvoid plery1(x,ymin,ymax)
- XPLFLT x, ymin, ymax;
- X{
- X PLFLT mindef, minht, xpmm, ypmm;
- X PLINT xminor;
- X
- X gmin(&mindef,&minht);
- X gpixmm(&xpmm,&ypmm);
- X xminor = max(1.0,minht*xpmm);
- X movwor(x,ymin);
- X plytik(wcpcx(x),wcpcy(ymin),xminor,xminor);
- X drawor(x,ymax);
- X plytik(wcpcx(x),wcpcy(ymax),xminor,xminor);
- X}
- END_OF_FILE
- if test 423 -ne `wc -c <'src/plery1.c'`; then
- echo shar: \"'src/plery1.c'\" unpacked with wrong size!
- fi
- # end of 'src/plery1.c'
- fi
- if test -f 'src/plexit.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plexit.c'\"
- else
- echo shar: Extracting \"'src/plexit.c'\" \(506 characters\)
- sed "s/^X//" >'src/plexit.c' <<'END_OF_FILE'
- X/* In case of an error this routine is called. It just prints out the
- X error message and trys to clean up as much as possible.
- X The user should write his/her own pl_exit() routine, if cleanup needs to
- X be done in the user program. */
- X
- X#include "plplot.h"
- X#include <stdio.h>
- X
- Xvoid plexit(errormsg)
- Xchar *errormsg;
- X{
- X PLINT level;
- X void pl_exit();
- X
- X fprintf(stderr,"\n%s\n",errormsg);
- X glev(&level);
- X if(level > 0) grtidy();
- X plfontrel();
- X pl_exit();
- X exit(1);
- X}
- X
- Xvoid pl_exit()
- X{
- X}
- X
- X
- END_OF_FILE
- if test 506 -ne `wc -c <'src/plexit.c'`; then
- echo shar: \"'src/plexit.c'\" unpacked with wrong size!
- fi
- # end of 'src/plexit.c'
- fi
- if test -f 'src/plfont.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plfont.c'\"
- else
- echo shar: Extracting \"'src/plfont.c'\" \(313 characters\)
- sed "s/^X//" >'src/plfont.c' <<'END_OF_FILE'
- X#include "plplot.h"
- X
- Xvoid plfont(ifont)
- XPLINT ifont;
- X{
- X PLINT ifnt,icol;
- X PLINT level;
- X
- X glev(&level);
- X if (level < 1) plexit("Please call plstar before calling plfont.");
- X
- X if (ifont < 1 || ifont > 4) plexit("Invalid font in plfont.");
- X gatt(&ifnt,&icol);
- X satt(ifont,icol);
- X}
- END_OF_FILE
- if test 313 -ne `wc -c <'src/plfont.c'`; then
- echo shar: \"'src/plfont.c'\" unpacked with wrong size!
- fi
- # end of 'src/plfont.c'
- fi
- if test -f 'src/plgra.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plgra.c'\"
- else
- echo shar: Extracting \"'src/plgra.c'\" \(190 characters\)
- sed "s/^X//" >'src/plgra.c' <<'END_OF_FILE'
- X/* Switches to graphics mode */
- X
- X#include "plplot.h"
- X
- Xvoid plgra()
- X{
- X PLINT level;
- X glev(&level);
- X if (level < 1) plexit("Please call plstar before plgra.");
- X grgra();
- X}
- END_OF_FILE
- if test 190 -ne `wc -c <'src/plgra.c'`; then
- echo shar: \"'src/plgra.c'\" unpacked with wrong size!
- fi
- # end of 'src/plgra.c'
- fi
- if test -f 'src/plgspa.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plgspa.c'\"
- else
- echo shar: Extracting \"'src/plgspa.c'\" \(506 characters\)
- sed "s/^X//" >'src/plgspa.c' <<'END_OF_FILE'
- X/* Gets subpage boundaries in absolute coordinates (mm from bottom */
- X/* left-hand corner of page) */
- X
- X#include "plplot.h"
- X
- Xvoid plgspa(xmin,xmax,ymin,ymax)
- XPLFLT *xmin, *xmax, *ymin, *ymax;
- X{
- X PLFLT spdxmi, spdxma, spdymi, spdyma;
- X PLINT level;
- X
- X glev(&level);
- X if (level < 1) plexit("Please call plstar before plgspa.");
- X gspd(&spdxmi,&spdxma,&spdymi,&spdyma);
- X *xmin = dcmmx(spdxmi);
- X *xmax = dcmmx(spdxma);
- X *ymin = dcmmy(spdymi);
- X *ymax = dcmmy(spdyma);
- X}
- END_OF_FILE
- if test 506 -ne `wc -c <'src/plgspa.c'`; then
- echo shar: \"'src/plgspa.c'\" unpacked with wrong size!
- fi
- # end of 'src/plgspa.c'
- fi
- if test -f 'src/pljoin.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/pljoin.c'\"
- else
- echo shar: Extracting \"'src/pljoin.c'\" \(108 characters\)
- sed "s/^X//" >'src/pljoin.c' <<'END_OF_FILE'
- X#include "plplot.h"
- X
- Xvoid pljoin(x1,y1,x2,y2)
- XPLFLT x1, x2, y1, y2;
- X{
- X movwor(x1,y1);
- X drawor(x2,y2);
- X}
- END_OF_FILE
- if test 108 -ne `wc -c <'src/pljoin.c'`; then
- echo shar: \"'src/pljoin.c'\" unpacked with wrong size!
- fi
- # end of 'src/pljoin.c'
- fi
- if test -f 'src/pllab.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/pllab.c'\"
- else
- echo shar: Extracting \"'src/pllab.c'\" \(412 characters\)
- sed "s/^X//" >'src/pllab.c' <<'END_OF_FILE'
- X/* Simple routine for labelling graphs */
- X
- X#include "plplot.h"
- X
- Xvoid pllab(xlabel, ylabel, tlabel)
- Xchar *xlabel, *ylabel, *tlabel;
- X{
- X PLINT level;
- X
- X glev(&level);
- X if (level < 2) plexit("Please set up viewport before calling pllab.");
- X
- X plmtex("t",(PLFLT)2.0,(PLFLT)0.5,(PLFLT)0.5,tlabel);
- X plmtex("b",(PLFLT)3.2,(PLFLT)0.5,(PLFLT)0.5,xlabel);
- X plmtex("l",(PLFLT)5.0,(PLFLT)0.5,(PLFLT)0.5,ylabel);
- X}
- END_OF_FILE
- if test 412 -ne `wc -c <'src/pllab.c'`; then
- echo shar: \"'src/pllab.c'\" unpacked with wrong size!
- fi
- # end of 'src/pllab.c'
- fi
- if test -f 'src/plline.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plline.c'\"
- else
- echo shar: Extracting \"'src/plline.c'\" \(261 characters\)
- sed "s/^X//" >'src/plline.c' <<'END_OF_FILE'
- X#include "plplot.h"
- X
- Xvoid plline(n,x,y)
- XPLINT n;
- XPLFLT *x, *y;
- X{
- X PLINT i, level;
- X
- X glev(&level);
- X if (level<3) plexit("Please set up window before calling plline.");
- X movwor(x[0],y[0]);
- X for(i=1; i<n; i++)
- X drawor(x[i],y[i]);
- X}
- END_OF_FILE
- if test 261 -ne `wc -c <'src/plline.c'`; then
- echo shar: \"'src/plline.c'\" unpacked with wrong size!
- fi
- # end of 'src/plline.c'
- fi
- if test -f 'src/plmesh.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plmesh.c'\"
- else
- echo shar: Extracting \"'src/plmesh.c'\" \(677 characters\)
- sed "s/^X//" >'src/plmesh.c' <<'END_OF_FILE'
- X/* Plots a mesh representation of the function z[x][y]. The x values */
- X/* are stored as x[0..nx-1], the y values as y[0..ny-1], and the */
- X/* z values are in the 2-d array z[][0..ly-1]. The integer "opt" */
- X/* specifies: */
- X/* opt = 1: Draw lines parallel to x-axis */
- X/* opt = 2: Draw lines parallel to y-axis */
- X/* opt = 3: Draw lines parallel to both axes */
- X
- X#include "plplot.h"
- X#ifdef PLSTDC
- X#include <stdlib.h>
- X#else
- Xextern void free();
- X#endif
- X
- Xextern PLINT pl3mode;
- Xextern PLINT *oldloview;
- X
- Xvoid plmesh(x,y,z,ly,nx,ny,opt)
- XPLINT ly, nx, ny, opt;
- XPLFLT *x, *y, *z;
- X{
- X pl3mode = 1;
- X plot3d(x,y,z,ly,nx,ny,opt,0);
- X
- X free((VOID *)oldloview);
- X pl3mode = 0;
- X}
- END_OF_FILE
- if test 677 -ne `wc -c <'src/plmesh.c'`; then
- echo shar: \"'src/plmesh.c'\" unpacked with wrong size!
- fi
- # end of 'src/plmesh.c'
- fi
- if test -f 'src/plpage.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plpage.c'\"
- else
- echo shar: Extracting \"'src/plpage.c'\" \(52 characters\)
- sed "s/^X//" >'src/plpage.c' <<'END_OF_FILE'
- X#include "plplot.h"
- X
- Xvoid plpage()
- X{
- X grpage();
- X}
- END_OF_FILE
- if test 52 -ne `wc -c <'src/plpage.c'`; then
- echo shar: \"'src/plpage.c'\" unpacked with wrong size!
- fi
- # end of 'src/plpage.c'
- fi
- if test -f 'src/plpat.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plpat.c'\"
- else
- echo shar: Extracting \"'src/plpat.c'\" \(479 characters\)
- sed "s/^X//" >'src/plpat.c' <<'END_OF_FILE'
- X/* Sets line width */
- X
- X#include "plplot.h"
- X#include "declare.h"
- X
- Xvoid plpat(nlin,inc,del)
- XPLINT nlin, *inc, *del;
- X{
- X PLINT i, level;
- X
- X glev(&level);
- X if (level < 1) plexit("Please call plstar before calling plpat.");
- X if(nlin<1 || nlin>2) plexit("Only 1 or 2 line styles allowed in plpat.");
- X
- X nps = nlin;
- X for(i=0; i<nlin; i++) {
- X inclin[i] = inc[i];
- X delta[i] = del[i];
- X if(del[i] < 0)plexit("Line spacing must be greater than 0 in plpat.");
- X }
- X}
- END_OF_FILE
- if test 479 -ne `wc -c <'src/plpat.c'`; then
- echo shar: \"'src/plpat.c'\" unpacked with wrong size!
- fi
- # end of 'src/plpat.c'
- fi
- if test -f 'src/plpoi1.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plpoi1.c'\"
- else
- echo shar: Extracting \"'src/plpoi1.c'\" \(301 characters\)
- sed "s/^X//" >'src/plpoi1.c' <<'END_OF_FILE'
- X#include "plplot.h"
- X
- Xextern short int *fntlkup;
- Xextern short int numberfonts, numberchars;
- X
- Xvoid plpoi1(x,y,code)
- XPLFLT x,y;
- XPLINT code;
- X{
- X PLINT sym, font, col;
- X
- X /* Initialize parameters. */
- X gatt(&font,&col);
- X sym = *(fntlkup+(font-1)*numberchars+code);
- X plhrsh(sym,wcpcx(x),wcpcy(y));
- X}
- END_OF_FILE
- if test 301 -ne `wc -c <'src/plpoi1.c'`; then
- echo shar: \"'src/plpoi1.c'\" unpacked with wrong size!
- fi
- # end of 'src/plpoi1.c'
- fi
- if test -f 'src/plpoin.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plpoin.c'\"
- else
- echo shar: Extracting \"'src/plpoin.c'\" \(431 characters\)
- sed "s/^X//" >'src/plpoin.c' <<'END_OF_FILE'
- X/* Plots single precision array y against x for n points using */
- X/* ASCII code "code" */
- X
- X#include "plplot.h"
- X
- Xvoid plpoin(n,x,y,code)
- XPLINT n, code;
- XPLFLT *x, *y;
- X{
- X short int i;
- X PLINT level;
- X
- X glev(&level);
- X if (level < 3) plexit("Please set up window before calling plpoin.");
- X if (code < 0 || code > 127) plexit("Invalid code in plpoin.");
- X
- X for(i=0; i<n; i++)
- X plpoi1(x[i],y[i],code);
- X}
- END_OF_FILE
- if test 431 -ne `wc -c <'src/plpoin.c'`; then
- echo shar: \"'src/plpoin.c'\" unpacked with wrong size!
- fi
- # end of 'src/plpoin.c'
- fi
- if test -f 'src/plr135.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plr135.c'\"
- else
- echo shar: Extracting \"'src/plr135.c'\" \(135 characters\)
- sed "s/^X//" >'src/plr135.c' <<'END_OF_FILE'
- X#include "plplot.h"
- X
- Xvoid plr135(ix,iy,isens)
- XPLINT *ix, *iy, isens;
- X{
- X *ix = -*ix;
- X *iy = -*iy;
- X plr45(ix,iy,isens);
- X}
- END_OF_FILE
- if test 135 -ne `wc -c <'src/plr135.c'`; then
- echo shar: \"'src/plr135.c'\" unpacked with wrong size!
- fi
- # end of 'src/plr135.c'
- fi
- if test -f 'src/plr45.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plr45.c'\"
- else
- echo shar: Extracting \"'src/plr45.c'\" \(239 characters\)
- sed "s/^X//" >'src/plr45.c' <<'END_OF_FILE'
- X#include "plplot.h"
- X#include <math.h>
- X
- Xvoid plr45(ix,iy,isens)
- XPLINT *ix, *iy, isens;
- X{
- X PLINT ixx, iyy;
- X
- X ixx = *ix-isens*(*iy);
- X iyy = *ix * isens + *iy;
- X *ix = ixx/max(1,abs(ixx));
- X *iy = iyy/max(1,abs(iyy));
- X}
- END_OF_FILE
- if test 239 -ne `wc -c <'src/plr45.c'`; then
- echo shar: \"'src/plr45.c'\" unpacked with wrong size!
- fi
- # end of 'src/plr45.c'
- fi
- if test -f 'src/plschr.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plschr.c'\"
- else
- echo shar: Extracting \"'src/plschr.c'\" \(231 characters\)
- sed "s/^X//" >'src/plschr.c' <<'END_OF_FILE'
- X#include "plplot.h"
- X
- Xvoid plschr(def,scale)
- XPLFLT def,scale;
- X{
- X PLFLT defalt, ht;
- X
- X if (def != 0.0)
- X schr(def,(PLFLT)(scale*def));
- X else {
- X gchr(&defalt,&ht);
- X schr(defalt,(PLFLT)(scale*defalt));
- X }
- X}
- END_OF_FILE
- if test 231 -ne `wc -c <'src/plschr.c'`; then
- echo shar: \"'src/plschr.c'\" unpacked with wrong size!
- fi
- # end of 'src/plschr.c'
- fi
- if test -f 'src/plsmaj.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plsmaj.c'\"
- else
- echo shar: Extracting \"'src/plsmaj.c'\" \(231 characters\)
- sed "s/^X//" >'src/plsmaj.c' <<'END_OF_FILE'
- X#include "plplot.h"
- X
- Xvoid plsmaj(def,scale)
- XPLFLT def,scale;
- X{
- X PLFLT defalt, ht;
- X
- X if (def != 0.0)
- X smaj(def,(PLFLT)(scale*def));
- X else {
- X gmaj(&defalt,&ht);
- X smaj(defalt,(PLFLT)(scale*defalt));
- X }
- X}
- END_OF_FILE
- if test 231 -ne `wc -c <'src/plsmaj.c'`; then
- echo shar: \"'src/plsmaj.c'\" unpacked with wrong size!
- fi
- # end of 'src/plsmaj.c'
- fi
- if test -f 'src/plsmin.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plsmin.c'\"
- else
- echo shar: Extracting \"'src/plsmin.c'\" \(233 characters\)
- sed "s/^X//" >'src/plsmin.c' <<'END_OF_FILE'
- X#include "plplot.h"
- X
- Xvoid plsmin(def,scale)
- XPLFLT def, scale;
- X{
- X PLFLT defalt, ht;
- X
- X if (def != 0.0)
- X smin(def,(PLFLT)(scale*def));
- X else {
- X gmin(&defalt,&ht);
- X smin(defalt,(PLFLT)(scale*defalt));
- X }
- X}
- END_OF_FILE
- if test 233 -ne `wc -c <'src/plsmin.c'`; then
- echo shar: \"'src/plsmin.c'\" unpacked with wrong size!
- fi
- # end of 'src/plsmin.c'
- fi
- if test -f 'src/plssym.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plssym.c'\"
- else
- echo shar: Extracting \"'src/plssym.c'\" \(230 characters\)
- sed "s/^X//" >'src/plssym.c' <<'END_OF_FILE'
- X#include "plplot.h"
- X
- Xvoid plssym(def,scale)
- XPLFLT def,scale;
- X{
- X PLFLT defalt,ht;
- X
- X if (def != 0.0)
- X ssym(def,(PLFLT)(scale*def));
- X else {
- X gsym(&defalt,&ht);
- X ssym(defalt,(PLFLT)(scale*defalt));
- X }
- X}
- END_OF_FILE
- if test 230 -ne `wc -c <'src/plssym.c'`; then
- echo shar: \"'src/plssym.c'\" unpacked with wrong size!
- fi
- # end of 'src/plssym.c'
- fi
- if test -f 'src/plstik.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plstik.c'\"
- else
- echo shar: Extracting \"'src/plstik.c'\" \(298 characters\)
- sed "s/^X//" >'src/plstik.c' <<'END_OF_FILE'
- X/* Draws a slanting tick at position (mx,my) (measured in mm) of */
- X/* vector length (dx,dy) */
- X
- X#include "plplot.h"
- X
- Xvoid plstik(mx,my,dx,dy)
- XPLFLT mx, my, dx, dy;
- X{
- X draphy(mmpcx(mx),mmpcy(my));
- X draphy(mmpcx((PLFLT)(mx+dx)),mmpcy((PLFLT)(my+dy)));
- X draphy(mmpcx(mx),mmpcy(my));
- X}
- END_OF_FILE
- if test 298 -ne `wc -c <'src/plstik.c'`; then
- echo shar: \"'src/plstik.c'\" unpacked with wrong size!
- fi
- # end of 'src/plstik.c'
- fi
- if test -f 'src/plsym.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plsym.c'\"
- else
- echo shar: Extracting \"'src/plsym.c'\" \(420 characters\)
- sed "s/^X//" >'src/plsym.c' <<'END_OF_FILE'
- X/* Plots single precision array y against x for n points using */
- X/* Hershey symbol "code" */
- X
- X#include "plplot.h"
- X
- Xvoid plsym(n,x,y,code)
- XPLINT n, code;
- XPLFLT x[],y[];
- X{
- X short int i;
- X PLINT level;
- X
- X glev(&level);
- X if (level < 3) plexit("Please set up window before calling plsym.");
- X if (code < 0) plexit("Invalid code in plsym.");
- X
- X for (i=0; i<n; i++)
- X plsym1(x[i],y[i],code);
- X}
- END_OF_FILE
- if test 420 -ne `wc -c <'src/plsym.c'`; then
- echo shar: \"'src/plsym.c'\" unpacked with wrong size!
- fi
- # end of 'src/plsym.c'
- fi
- if test -f 'src/plsym1.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plsym1.c'\"
- else
- echo shar: Extracting \"'src/plsym1.c'\" \(108 characters\)
- sed "s/^X//" >'src/plsym1.c' <<'END_OF_FILE'
- X#include "plplot.h"
- X
- Xvoid plsym1(x,y,code)
- XPLFLT x,y;
- XPLINT code;
- X{
- X plhrsh(code,wcpcx(x),wcpcy(y));
- X}
- END_OF_FILE
- if test 108 -ne `wc -c <'src/plsym1.c'`; then
- echo shar: \"'src/plsym1.c'\" unpacked with wrong size!
- fi
- # end of 'src/plsym1.c'
- fi
- if test -f 'src/pltext.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/pltext.c'\"
- else
- echo shar: Extracting \"'src/pltext.c'\" \(204 characters\)
- sed "s/^X//" >'src/pltext.c' <<'END_OF_FILE'
- X/* Switches back to text mode */
- X
- X#include "plplot.h"
- X
- Xvoid pltext()
- X{
- X PLINT level;
- X
- X glev(&level);
- X if (level < 1) plexit("Please call plstar before calling pltext.");
- X
- X grtext();
- X}
- END_OF_FILE
- if test 204 -ne `wc -c <'src/pltext.c'`; then
- echo shar: \"'src/pltext.c'\" unpacked with wrong size!
- fi
- # end of 'src/pltext.c'
- fi
- if test -f 'src/plvsta.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plvsta.c'\"
- else
- echo shar: Extracting \"'src/plvsta.c'\" \(891 characters\)
- sed "s/^X//" >'src/plvsta.c' <<'END_OF_FILE'
- X/* Defines a "standard" viewport with seven character heights for */
- X/* the left margin and four character heights everywhere else */
- X
- X#include "plplot.h"
- X
- Xvoid plvsta()
- X{
- X PLFLT xmin, xmax, ymin, ymax;
- X PLFLT chrdef, chrht, spdxmi, spdxma, spdymi, spdyma;
- X PLINT level;
- X
- X glev(&level);
- X if (level < 1) plexit("Please call plstar before calling plvsta.");
- X
- X gchr(&chrdef,&chrht);
- X gspd(&spdxmi,&spdxma,&spdymi,&spdyma);
- X
- X/* Find out position of subpage boundaries in millimetres, reduce by */
- X/* the desired border, and convert back into normalized subpage */
- X/* coordinates */
- X
- X xmin = dcscx(mmdcx((PLFLT)(dcmmx(spdxmi) + 7 * chrht)));
- X xmax = dcscx(mmdcx((PLFLT)(dcmmx(spdxma) - 4 * chrht)));
- X ymin = dcscy(mmdcy((PLFLT)(dcmmy(spdymi) + 4 * chrht)));
- X ymax = dcscy(mmdcy((PLFLT)(dcmmy(spdyma) - 4 * chrht)));
- X
- X plvpor(xmin,xmax,ymin,ymax);
- X}
- END_OF_FILE
- if test 891 -ne `wc -c <'src/plvsta.c'`; then
- echo shar: \"'src/plvsta.c'\" unpacked with wrong size!
- fi
- # end of 'src/plvsta.c'
- fi
- if test -f 'src/plwid.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plwid.c'\"
- else
- echo shar: Extracting \"'src/plwid.c'\" \(228 characters\)
- sed "s/^X//" >'src/plwid.c' <<'END_OF_FILE'
- X/* Sets line width */
- X
- X#include "plplot.h"
- X
- Xvoid plwid(width)
- XPLINT width;
- X{
- X PLINT level;
- X
- X glev(&level);
- X if (level < 1) plexit("Please call plstar before calling plwid.");
- X
- X swid(width);
- X grwid();
- X}
- END_OF_FILE
- if test 228 -ne `wc -c <'src/plwid.c'`; then
- echo shar: \"'src/plwid.c'\" unpacked with wrong size!
- fi
- # end of 'src/plwid.c'
- fi
- if test -f 'src/plxtik.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plxtik.c'\"
- else
- echo shar: Extracting \"'src/plxtik.c'\" \(200 characters\)
- sed "s/^X//" >'src/plxtik.c' <<'END_OF_FILE'
- X#include "plplot.h"
- X
- Xvoid plxtik(x,y,below,above)
- XPLINT x, y, below, above;
- X{
- X draphy(x,y);
- X if (below != 0) draphy(x,y-below);
- X if (above != 0) draphy(x,y+above);
- X draphy(x,y);
- X}
- END_OF_FILE
- if test 200 -ne `wc -c <'src/plxtik.c'`; then
- echo shar: \"'src/plxtik.c'\" unpacked with wrong size!
- fi
- # end of 'src/plxtik.c'
- fi
- if test -f 'src/plytik.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/plytik.c'\"
- else
- echo shar: Extracting \"'src/plytik.c'\" \(196 characters\)
- sed "s/^X//" >'src/plytik.c' <<'END_OF_FILE'
- X#include "plplot.h"
- X
- Xvoid plytik(x,y,left,right)
- XPLINT x, y, left, right;
- X{
- X draphy(x,y);
- X if (left != 0) draphy(x-left,y);
- X if (right != 0) draphy(x+right,y);
- X draphy(x,y);
- X}
- END_OF_FILE
- if test 196 -ne `wc -c <'src/plytik.c'`; then
- echo shar: \"'src/plytik.c'\" unpacked with wrong size!
- fi
- # end of 'src/plytik.c'
- fi
- if test -f 'src/setphy.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/setphy.c'\"
- else
- echo shar: Extracting \"'src/setphy.c'\" \(570 characters\)
- sed "s/^X//" >'src/setphy.c' <<'END_OF_FILE'
- X/* Sets up physical limits of plotting device and the mapping between */
- X/* normalized device coordinates and physical coordinates */
- X
- X#include "plplot.h"
- X
- Xvoid setphy(xmin,xmax,ymin,ymax)
- XPLINT xmin,xmax,ymin,ymax;
- X{
- X PLFLT xpmm, ypmm, mpxscl, mpyscl;
- X
- X sphy(xmin,xmax,ymin,ymax);
- X sdp((PLFLT)(xmax-xmin),(PLFLT)(xmin),(PLFLT)(ymax-ymin),
- X (PLFLT)(ymin));
- X
- X gpixmm(&xpmm,&ypmm);
- X mpxscl = xpmm;
- X if (xmax <= xmin) mpxscl = -xpmm;
- X mpyscl = ypmm;
- X if (ymax <= ymin) mpyscl = -ypmm;
- X smp(mpxscl,(PLFLT)(xmin), mpyscl,(PLFLT)(ymin));
- X}
- X
- END_OF_FILE
- if test 570 -ne `wc -c <'src/setphy.c'`; then
- echo shar: \"'src/setphy.c'\" unpacked with wrong size!
- fi
- # end of 'src/setphy.c'
- fi
- if test -f 'src/setpxl.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/setpxl.c'\"
- else
- echo shar: Extracting \"'src/setpxl.c'\" \(247 characters\)
- sed "s/^X//" >'src/setpxl.c' <<'END_OF_FILE'
- X/* Sets up pixel size from the number of pixels/mm in each direction */
- X
- X#include "plplot.h"
- X#include "declare.h"
- X
- Xvoid setpxl(xpmm0,ypmm0)
- XPLFLT xpmm0,ypmm0;
- X{
- X xpmm = xpmm0;
- X ypmm = ypmm0;
- X umx = 1000.0/xpmm;
- X umy = 1000.0/ypmm;
- X}
- END_OF_FILE
- if test 247 -ne `wc -c <'src/setpxl.c'`; then
- echo shar: \"'src/setpxl.c'\" unpacked with wrong size!
- fi
- # end of 'src/setpxl.c'
- fi
- if test -f 'src/setsub.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/setsub.c'\"
- else
- echo shar: Extracting \"'src/setsub.c'\" \(793 characters\)
- sed "s/^X//" >'src/setsub.c' <<'END_OF_FILE'
- X/* Sets up the subpage boundaries according to the current subpage */
- X/* selected */
- X
- X#include "plplot.h"
- X
- Xvoid setsub()
- X{
- X PLINT ix, iy;
- X PLINT nsubx, nsuby, cursub;
- X PLFLT spdxmi, spdxma, spdymi, spdyma;
- X PLINT sppxmi, sppxma, sppymi, sppyma;
- X
- X gsub(&nsubx,&nsuby,&cursub);
- X ix = (cursub-1)%nsubx;
- X iy = nsuby - (cursub-1)/nsubx;
- X
- X spdxmi = (PLFLT)(ix)/(PLFLT)(nsubx);
- X spdxma = (PLFLT)(ix+1)/(PLFLT)(nsubx);
- X spdymi = (PLFLT)(iy-1)/(PLFLT)(nsuby);
- X spdyma = (PLFLT)(iy)/(PLFLT)(nsuby);
- X sspd(spdxmi,spdxma,spdymi,spdyma);
- X
- X sppxmi = dcpcx(spdxmi);
- X sppxma = dcpcx(spdxma);
- X sppymi = dcpcy(spdymi);
- X sppyma = dcpcy(spdyma);
- X sspp(sppxmi,sppxma,sppymi,sppyma);
- X
- X sclp(sppxmi,sppxma,sppymi,sppyma);
- X
- X}
- END_OF_FILE
- if test 793 -ne `wc -c <'src/setsub.c'`; then
- echo shar: \"'src/setsub.c'\" unpacked with wrong size!
- fi
- # end of 'src/setsub.c'
- fi
- if test -f 'src/stindex.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/stindex.c'\"
- else
- echo shar: Extracting \"'src/stindex.c'\" \(453 characters\)
- sed "s/^X//" >'src/stindex.c' <<'END_OF_FILE'
- X#include "plplot.h"
- X
- XPLINT stindex(str1,str2)
- Xchar *str1,*str2;
- X{
- X PLINT base;
- X PLINT str1ind;
- X PLINT str2ind;
- X
- X for(base=0; *(str1+base)!='\0'; base++) {
- X for(str1ind=base, str2ind=0; *(str2+str2ind)!='\0' &&
- X *(str2+str2ind) == *(str1+str1ind); str1ind++, str2ind++)
- X ; /* no body */
- X
- X if(*(str2+str2ind) == '\0')
- X return((PLINT)base);
- X }
- X return((PLINT)-1); /* search failed */
- X}
- END_OF_FILE
- if test 453 -ne `wc -c <'src/stindex.c'`; then
- echo shar: \"'src/stindex.c'\" unpacked with wrong size!
- fi
- # end of 'src/stindex.c'
- fi
- if test -f 'src/strpos.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/strpos.c'\"
- else
- echo shar: Extracting \"'src/strpos.c'\" \(493 characters\)
- sed "s/^X//" >'src/strpos.c' <<'END_OF_FILE'
- X/* Searches string str for first occurence of character chr. If found */
- X/* the position of the character in the string is returned (the first */
- X/* character has position 0). If the character is not found a -1 is */
- X/* returned. */
- X
- X#include "plplot.h"
- X#ifdef PLSTDC
- X#include <string.h>
- X#else
- Xextern char *strchr();
- X#endif
- X
- XPLINT strpos(str,chr)
- Xchar *str,chr;
- X{
- X char *temp;
- X
- X if (temp = strchr(str,chr))
- X return((PLINT)(temp - str));
- X else
- X return((PLINT)-1);
- X}
- END_OF_FILE
- if test 493 -ne `wc -c <'src/strpos.c'`; then
- echo shar: \"'src/strpos.c'\" unpacked with wrong size!
- fi
- # end of 'src/strpos.c'
- fi
- if test -f 'src/stsearch.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/stsearch.c'\"
- else
- echo shar: Extracting \"'src/stsearch.c'\" \(367 characters\)
- sed "s/^X//" >'src/stsearch.c' <<'END_OF_FILE'
- X/* Searches string str for character chr (case insensitive) */
- X
- X#include "plplot.h"
- X#include <ctype.h>
- X#ifdef PLSTDC
- X#include <string.h>
- X#else
- Xextern char *strchr();
- X#endif
- X
- XPLINT stsearch(str,chr)
- Xchar *str,chr;
- X{
- X if (strchr(str,chr))
- X return((PLINT)1);
- X else if(strchr(str,toupper(chr)))
- X return((PLINT)1);
- X else
- X return((PLINT)0);
- X}
- END_OF_FILE
- if test 367 -ne `wc -c <'src/stsearch.c'`; then
- echo shar: \"'src/stsearch.c'\" unpacked with wrong size!
- fi
- # end of 'src/stsearch.c'
- fi
- if test -f 'src/xform.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/xform.c'\"
- else
- echo shar: Extracting \"'src/xform.c'\" \(170 characters\)
- sed "s/^X//" >'src/xform.c' <<'END_OF_FILE'
- X#include "plplot.h"
- X
- Xextern PLFLT tr[];
- X
- Xvoid xform(x,y,tx,ty)
- XPLFLT x, y, *tx, *ty;
- X{
- X *tx = tr[0] * x + tr[1] * y + tr[2];
- X *ty = tr[3] * x + tr[4] * y + tr[5];
- X}
- X
- END_OF_FILE
- if test 170 -ne `wc -c <'src/xform.c'`; then
- echo shar: \"'src/xform.c'\" unpacked with wrong size!
- fi
- # end of 'src/xform.c'
- fi
- if test ! -d 'unix' ; then
- echo shar: Creating directory \"'unix'\"
- mkdir 'unix'
- fi
- if test -f 'unix/README' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'unix/README'\"
- else
- echo shar: Extracting \"'unix/README'\" \(519 characters\)
- sed "s/^X//" >'unix/README' <<'END_OF_FILE'
- XSorry, I don't offer much help here. You'll need to create a library
- Xwith all the stuff in the src and this directory in it. (You don't need
- Xthe Amiga or drivers directories).
- X
- XBe sure to set things up correctly in plplot.h in the include directory.
- XEspecially the font directory location!
- X
- XI've written a set of stub routines so that the library can be used
- Xfrom a Fortan program. They are not provided, but if you want them
- Xjust contact me. I'll galdly give them to you. (These may not work
- Xon all unix systems).
- END_OF_FILE
- if test 519 -ne `wc -c <'unix/README'`; then
- echo shar: \"'unix/README'\" unpacked with wrong size!
- fi
- # end of 'unix/README'
- fi
- echo shar: End of archive 1 \(of 12\).
- cp /dev/null ark1isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 12 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
- --
- Submissions to comp.sources.amiga and comp.binaries.amiga should be sent to:
- amiga@cs.odu.edu
- or amiga@xanth.cs.odu.edu ( obsolescent mailers may need this address )
- or ...!uunet!xanth!amiga ( very obsolescent mailers need this address )
-
- Comments, questions, and suggestions s should be addressed to ``amiga-request''
- (only use ``amiga'' for submissions) at the above addresses.
-